package com.jmodata.zxu.service.manager;

import com.jmodata.zxu.model.DataGrid;
import com.jmodata.zxu.pojo.manager.LoginLog;
import com.jmodata.zxu.pojo.manager.Manager;
import com.jmodata.zxu.pojo.manager.ManagerRole;

import java.util.List;
import java.util.Map;

public interface ManagerService {

    /**
     * 查询管理员列�?
     *
     * @param
     * @param map
     * @return
     * @throws Exception
     */
    public DataGrid queryManagerList(Map<Object, Object> map) throws Exception;

    /**
     * 用户登录
     *
     * @param username
     * @param password
     * @return
     */
    public Manager getManagerLogin(String username, String password) throws Exception;;

    /**
     * 修改密码
     *
     * @param Manager
     * @return
     * @throws Exception
     */
    public int updatePwd(Manager Manager) throws Exception;

    /**
     * 添加管理�?
     *
     * @param Manager
     * @return
     * @throws Exception
     */
    public int insertManager(Manager Manager) throws Exception;

    /**
     * 修改管理�?
     *
     * @param Manager
     * @return
     * @throws Exception
     */
    public int updateManager(Manager Manager) throws Exception;

    /**
     * 删除管理�?
     *
     * @param managerid
     * @return
     * @throws Exception
     */
    public int deleteManager(Integer managerid) throws Exception;

    /**
     * 通过ID查询管理�?
     *
     * @param managerid
     * @return
     * @throws Exception
     */
    public Manager getManager(Integer managerid) throws Exception;

    /**
     * 给管理员分配角色
     *
     * @param managerRole
     * @return
     * @throws Exception
     */
    public int insertManagerRole(ManagerRole managerRole) throws Exception;

    /**
     * 删除
     *
     * @param managerid
     * @return
     * @throws Exception
     */
    public int deleteManagerRole(Integer managerid) throws Exception;

    public List<Manager> getNameList();

    /**
     * 获取�?��非系统管理员�?员工
     *
     * @return
     */
    public List<Manager> getEmployes();

    /**
     * 不包含角色信息，员工列表
     * @return
     */
    public List<Manager> getEmploysAllNoRole();

    /**
     * 新增管理员时判断用户名或证件是否重复
     * @param map
     * @return
     * @throws Exception
     */
    public List<Manager> findManagerForCheckRepeat(Map<Object,Object> map)throws Exception;

    /**
     * 查询同一社区所有管理员
     * @param map
     * @return
     * @throws Exception
     */
    public List<Manager> getManagerByCommunityId(Map<Object,Object> map)throws Exception;
}
